home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / comms / other / slrn / slrn_src / src / makefile.in < prev    next >
Makefile  |  1999-05-14  |  7KB  |  154 lines

  1. # Unix Makefile for slrn                               -*- sh -*-
  2. #---------------------------------------------------------------------------
  3. # This file is divided into six configurable sections.  The last two sections
  4. # are optional: Section 5 deals with setting up slrn to read the server name 
  5. # from a file.  If you are compiling this on Linux and you want it to work 
  6. # with 'term', look at the 6th section.
  7. #-----------------------------------------------------------------------------
  8. # 1. Choose a C compiler.  It must understand prototypes.
  9. #-----------------------------------------------------------------------------
  10. CC = @CC@
  11. CFLAGS = @CFLAGS@ @X_CFLAGS@
  12. LDFLAGS = @LDFLAGS@
  13. #  Note: gcc -O2 is buggy under Linux.  If you use it, include the
  14. #        -fno-strength-reduce flag!!
  15. #-----------------------------------------------------------------------------
  16. # 2. On a few systems, additional libraries are required.
  17. #-----------------------------------------------------------------------------
  18. MISCLIBS = @X_EXTRA_LIBS@ @TERMCAP@
  19. #MISCLIBS = -lnsl -lsocket                             # Solaris
  20. #MISCLIBS = -ltermcap                                  # NeXT
  21.  
  22. #-----------------------------------------------------------------------------
  23. # 3. Directory where the slang library, slanglib.a, is located.
  24. #    BUILD SLANG FIRST!!!!  If you do not have it, get it from the same place
  25. #    you picked up slrn.  The current home is space.mit.edu:/pub/davis/slang.
  26. #-----------------------------------------------------------------------------
  27. #Location of slang.h
  28. SLANGINC = @SLANG_INCLUDE@#
  29. #Location of libslang.a
  30. SLANGLIB = @SLANG_LIB_DIR@#
  31. # Note: The relative path names should be done with respect to OBJDIR.
  32. #SLANGLIB = ../../../slang/$(ARCH)elfobjs#    Location of shared elf library
  33. #SLANGINC = ../../../slang/src#               Location of slang.h
  34. #SLANGLIB = $(SLANGINC)/$(ARCH)objs#       Location of libslang.a
  35.  
  36.  
  37. #-----------------------------------------------------------------------------
  38. # 4. Location where object files are placed (Absolute pathnames!!)
  39. #-----------------------------------------------------------------------------
  40. OBJDIR = @OBJDIR@
  41. SRCDIR = @SRCDIR@
  42. #-----------------------------------------------------------------------------
  43. # 5. If you want to read the server from a file, uncomment the following
  44. #    lines and edit it as appropriate.  See INSTALL for more information.
  45. #    It is also possible to provide defaults for other variables such as the
  46. #    HOSTNAME, etc...  by editing the slrnfeat.h file.
  47. #-----------------------------------------------------------------------------
  48. #NNTPSERVERFILE = -DNNTPSERVER_FILE=\"/usr/local/lib/news/nntp_server\"
  49. #SLRNLIBDIR = -DSLRN_LIB_DIR=\"/usr/local/lib/news\"
  50. #SLRNLIBDIR = -DSLRN_LIB_DIR=\"$(HOME)/lib/slrn\"
  51.  
  52. #----------------------------------------------------------------------------
  53. # 6.  Uncomment the following lines for Linux Term compatability.
  54. #MISCLIBS += -ltermnet
  55. #MISCINCLUDES = -include /usr/local/include/termnet.h
  56.  
  57. #---------------------------------------------------------------------------
  58. # Installation
  59. #---------------------------------------------------------------------------
  60. INSTALL = @INSTALL@
  61. INSTALL_DATA = @INSTALL_DATA@
  62. INSTALL_OWNER = # -o root -g root
  63. prefix = @prefix@
  64. exec_prefix = @exec_prefix@
  65. BINDIR = @bindir@
  66. DOCDIR = $(prefix)/doc/slrn
  67. MANDIR = @mandir@
  68. MACRODIR = @datadir@/slrn
  69.  
  70. # Files to install in DOC_DIR:
  71. README_FILES = help.txt INSTALL README.vms README.os2 README.GroupLens \
  72.            README.macros FAQ SCORE_FAQ score.txt score.sl \
  73.            os2keys.txt slrn.rc README.w95 w95keys.txt pc-keys.txt \
  74.            slrn-doc.html slrnfuns.txt
  75.  
  76. #----------------------------------------------------------------------------
  77. # Nothing below here should require changing.
  78. #----------------------------------------------------------------------------
  79. SHELL = /bin/sh
  80. OBJS = @PROGRAM_OBJECTS@
  81. OFILES = @PROGRAM_OFILES@
  82.  
  83. EXEC = slrn
  84. CONFIG_H = config.h
  85. ALL_CFLAGS = $(CFLAGS) -Dunix -I$(SLANGINC) \
  86.  $(MISCINCLUDES) $(NNTPSERVERFILE) $(SLRNLIBDIR)
  87. EXECLIBS = -L$(SLANGLIB) -lslang $(MISCLIBS) -lm
  88. DOT_O_DEPS = slrnfeat.h
  89. server_O_DEP = clientlib.c spool.c nntp.c sltcp.c nntplib.c
  90. chmap_O_DEP = chmap.h charmaps.h
  91. chkslang_O_DEP = config.h Makefile
  92.  
  93. slrnpull_O_DEP = score.c xover.c hash.c
  94. slrnpull_DEPS = $(OBJDIR)/util.o $(OBJDIR)/ttymsg.o $(OBJDIR)/version.o\
  95.  $(OBJDIR)/sltcp.o $(OBJDIR)/nntplib.o $(OBJDIR)/slrndir.o
  96.  
  97. slrnpull_LIBS = $(slrnpull_DEPS)
  98.  
  99. UUDECODE_OBJS = $(OBJDIR)/util.o $(OBJDIR)/ttymsg.o $(OBJDIR)/slrndir.o
  100.  
  101. #
  102. COMPILE_CMD = $(CC) -c $(ALL_CFLAGS)
  103. #
  104. all: $(EXEC)
  105. $(EXEC): $(OBJDIR) $(CONFIG_H) slangversion $(OBJDIR)/$(EXEC)
  106.     @echo $(EXEC) created in $(OBJDIR)
  107. $(OBJDIR)/$(EXEC): $(OBJS)
  108.     cd $(OBJDIR); $(CC) $(OFILES) -o $(EXEC) $(LDFLAGS) $(EXECLIBS)
  109. #
  110. $(OBJDIR):
  111.     -mkdir $(OBJDIR)
  112. #
  113. $(CONFIG_H) : $(SRCDIR)/sysconf.h
  114.     /bin/cp $(SRCDIR)/sysconf.h $(CONFIG_H)
  115.     touch $(CONFIG_H)
  116. #
  117. slangversion: $(OBJDIR)/chkslang
  118.     $(OBJDIR)/chkslang $(EXEC) 10003
  119. #
  120. $(OBJDIR)/chkslang: $(OBJDIR)/chkslang.o
  121.     $(CC) $(OBJDIR)/chkslang.o -o $(OBJDIR)/chkslang
  122. uudecode: uudecode.c $(UUDECODE_OBJS)
  123.     $(CC) $(ALL_CFLAGS) -DSTANDALONE $(LDFLAGS) -o uudecode uudecode.c $(UUDECODE_OBJS) $(EXECLIBS)
  124.     touch uudecode.c
  125. clean:
  126.     /bin/rm -f $(OBJDIR)/* *~
  127. distclean: clean
  128.     /bin/rm -rf $(OBJDIR) Makefile sysconf.h
  129. install: all $(BINDIR)
  130.     $(INSTALL) -m 755 $(INSTALL_OWNER) $(OBJDIR)/slrn $(BINDIR)
  131.     -$(INSTALL) -m 755 $(INSTALL_OWNER) $(OBJDIR)/slrnpull $(BINDIR)
  132.     $(INSTALL) -d $(DOCDIR) -m 755 $(INSTALL_OWNER)
  133.     cd ../doc; $(INSTALL) -m 644 $(INSTALL_OWNER) $(README_FILES) $(DOCDIR)
  134.     $(INSTALL) -m 644 $(INSTALL_OWNER) ../COPYRIGHT $(DOCDIR)
  135.     $(INSTALL) -m 644 $(INSTALL_OWNER) ../COPYING $(DOCDIR)
  136.     $(INSTALL) -m 644 $(INSTALL_OWNER) ../README $(DOCDIR)
  137.     $(INSTALL) -m 644 $(INSTALL_OWNER) ../changes.txt $(DOCDIR)
  138.     $(INSTALL) -m 644 $(INSTALL_OWNER) ../doc/slrn.1 $(MANDIR)/man1
  139.     $(INSTALL) -d $(DOCDIR)/slrnpull -m 755 $(INSTALL_OWNER)
  140.     $(INSTALL) -m 644 $(INSTALL_OWNER) ../slrnpull/* $(DOCDIR)/slrnpull
  141.     $(INSTALL) -d $(MACRODIR) -m 755 $(INSTALL_OWNER)
  142.     $(INSTALL) -m 644 $(INSTALL_OWNER) ../macros/*.sl $(MACRODIR)
  143. $(BINDIR):
  144.     - ../mkinsdir.sh $(BINDIR)
  145. # The symlinks target is for my own private use.  It simply creates the object
  146. # directory as a symbolic link to a local disk instead of an NFS mounted one.
  147. symlinks:
  148.     -/bin/rm -f $(ARCH)objs
  149.     mkdir -p $(HOME)/sys/$(ARCH)/objs/slrn/src
  150.     ln -s $(HOME)/sys/$(ARCH)/objs/slrn/src $(ARCH)objs
  151. #---------------------------------------------------------------------------
  152. # Rules (automatically generated)
  153. #---------------------------------------------------------------------------
  154.